/*
 PureMVC - Copyright(c) 2006-08 Futurescale, Inc., Some rights reserved.
 Your reuse is governed by the Creative Commons Attribution 3.0 United States License
*/
package org.puremvc.as3.interfaces
{
	public interface IModel 
	{
		/**
		 * 注册实现接口IProxy的对象到Model中
		 * @param	proxy proxy对象
		 */
		function registerProxy( proxy:IProxy ) : void;
		/**
		 * 获取Model中的实现接口IProxy的对象
		 * @param	proxyName 实现接口IProxy的对象的名称
		 * @return
		 */
		function retrieveProxy( proxyName:String ) : IProxy;
		/**
		 * 移除Model中的实现接口IProxy的对象
		 * @param	proxyName 实现接口IProxy的对象的名称
		 * @return
		 */
		function removeProxy( proxyName:String ) : IProxy;
		/**
		 * 判断Model中是否含有名称为proxyName的实现接口IProxy的对象
		 * @param	proxyName 实现接口IProxy的对象的名称
		 * @return
		 */
		function hasProxy( proxyName:String ) : Boolean;
	}
}